home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / sound / 2608intf.h < prev    next >
C/C++ Source or Header  |  2000-04-09  |  2KB  |  65 lines

  1. #ifndef __2608INTF_H__
  2. #define __2608INTF_H__
  3.  
  4. #include "fm.h"
  5. #ifdef BUILD_YM2608
  6.   void YM2608UpdateRequest(int chip);
  7. #endif
  8.  
  9. #define   MAX_2608    (2)
  10.  
  11. #ifndef VOL_YM3012
  12. /* #define YM3014_VOL(Vol,Pan) VOL_YM3012((Vol)/2,Pan,(Vol)/2,Pan) */
  13. #define YM3012_VOL(LVol,LPan,RVol,RPan) (MIXER(LVol,LPan)|(MIXER(RVol,RPan) << 16))
  14. #endif
  15.  
  16. struct YM2608interface{
  17.     int num;    /* total number of 8910 in the machine */
  18.     int baseclock;
  19.     int volumeSSG[MAX_8910]; /* for SSG sound */
  20.     mem_read_handler portAread[MAX_8910];
  21.     mem_read_handler portBread[MAX_8910];
  22.     mem_write_handler portAwrite[MAX_8910];
  23.     mem_write_handler portBwrite[MAX_8910];
  24.     void ( *handler[MAX_8910] )( int irq );    /* IRQ handler for the YM2608 */
  25.     int pcmrom[MAX_2608];        /* Delta-T memory region ram/rom */
  26.     int volumeFM[MAX_2608];        /* use YM3012_VOL macro */
  27. };
  28.  
  29. /************************************************/
  30. /* Sound Hardware Start                            */
  31. /************************************************/
  32. int YM2608_sh_start(const struct MachineSound *msound);
  33.  
  34. /************************************************/
  35. /* Sound Hardware Stop                            */
  36. /************************************************/
  37. void YM2608_sh_stop(void);
  38.  
  39. void YM2608_sh_reset(void);
  40.  
  41. /************************************************/
  42. /* Chip 0 functions                                */
  43. /************************************************/
  44. READ_HANDLER( YM2608_status_port_0_A_r );
  45. READ_HANDLER( YM2608_status_port_0_B_r );
  46. READ_HANDLER( YM2608_read_port_0_r );
  47. WRITE_HANDLER( YM2608_control_port_0_A_w );
  48. WRITE_HANDLER( YM2608_control_port_0_B_w );
  49. WRITE_HANDLER( YM2608_data_port_0_A_w );
  50. WRITE_HANDLER( YM2608_data_port_0_B_w );
  51.  
  52. /************************************************/
  53. /* Chip 1 functions                                */
  54. /************************************************/
  55. READ_HANDLER( YM2608_status_port_1_A_r );
  56. READ_HANDLER( YM2608_status_port_1_B_r );
  57. READ_HANDLER( YM2608_read_port_1_r );
  58. WRITE_HANDLER( YM2608_control_port_1_A_w );
  59. WRITE_HANDLER( YM2608_control_port_1_B_w );
  60. WRITE_HANDLER( YM2608_data_port_1_A_w );
  61. WRITE_HANDLER( YM2608_data_port_1_B_w );
  62.  
  63. #endif
  64. /**************** end of file ****************/
  65.